home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Whiteline: delta
/
whiteline CD Series - delta.iso
/
progtool
/
modula2
/
module
/
biermenu.mod
< prev
next >
Wrap
Text File
|
1995-11-25
|
7KB
|
186 lines
IMPLEMENTATION MODULE BierMenu;
FROM BlRscInc IMPORT QUIT,ABOUT,LOAD,SAVE,EDIT,HELP,OPTIONEN,EXTRAS,MENUE,
DESK,DATEI,KASSE, PRINT , BESTELL, FAXRECHN, KASSESTD,
SPENDEN, RECHNUNG, BIEREN, NAMEN, DATUMAE, EKPREISE,ZIRKEL,
VKPREISE, INVENTUR, STATISTK,ABOUTDIA,SaveFileName,
LEERZEIL,SAVEWORK,LEERDIA,OKLEER,CANCLEER,ZAHLLEER;
FROM Preiserfassung IMPORT EinkaufsPreise,VerkaufsPreise,GetDate,
GetPreferences,SetPreferences;
FROM Bestellungen IMPORT Bestellung,Abrechnung;
FROM EdiereBierListe IMPORT Editiere;
FROM DruckeBierListe IMPORT PrintBierliste;
FROM KassenStand IMPORT SpendenErfassen,InventurMachen, BierListeSpeichern,
BierListeLaden, AlteBierListeLaden;
FROM SYSTEM IMPORT ADDRESS;
FROM EasyDialog IMPORT DoDialog,and,GetText,SetText,IsSelected;
FROM AES IMPORT FormAlert,GrafMouse,MenuTitleNormal,ResourceGetAddr,
MenuItemEnable,ObjectChange,MenuItemCheck;
FROM GEMAESbase IMPORT HourGlass,Arrow,Selected,Normal;
FROM ConvertStr IMPORT StrToInt,IntToStr;
VAR NachXXordnen,LeerZeilen : INTEGER;
PROCEDURE InitLeerZeilen():INTEGER;
VAR LeerZeilenAddr: ADDRESS;
AnzahlDerLeerZeilen :INTEGER;
DiaReturn :INTEGER;
LeerZeilenStr: ARRAY [0..1] OF CHAR;
OK : BOOLEAN;
BEGIN
ResourceGetAddr(0,LEERDIA,LeerZeilenAddr);
GetText(ZAHLLEER,LeerZeilenAddr,LeerZeilenStr);
DiaReturn:=DoDialog(LeerZeilenAddr,0);
IF DiaReturn = CANCLEER THEN
SetText(ZAHLLEER,LeerZeilenAddr,LeerZeilenStr);
ELSE
GetText(ZAHLLEER,LeerZeilenAddr,LeerZeilenStr);
StrToInt(LeerZeilenStr,AnzahlDerLeerZeilen,OK);
END(*IF*);
IF OK THEN RETURN AnzahlDerLeerZeilen ELSE RETURN 5 END(*IF*);
END InitLeerZeilen;
PROCEDURE MenueEreignis(msgret:INTEGER;menueadresse:ADDRESS):BOOLEAN;
VAR formret:INTEGER;
String: ARRAY [0..127] OF CHAR;
FileName: ARRAY [0..255] OF CHAR;
ENDE,OK :BOOLEAN;
AboutAddr: ADDRESS;
PROCEDURE OrdneNach;
BEGIN
MenuItemCheck(menueadresse,BIEREN,0);
MenuItemCheck(menueadresse,NAMEN,0);
MenuItemCheck(menueadresse,RECHNUNG,0);
MenuItemCheck(menueadresse,msgret,1);
NachXXordnen:=msgret;
END OrdneNach;
BEGIN
ENDE:=FALSE;
CASE msgret OF
ABOUT : ResourceGetAddr(0,ABOUTDIA,AboutAddr);
formret:=DoDialog(AboutAddr,0);
IF formret = ZIRKEL THEN
String :='[0][L! Teutonia München i.CC | Richard Wagner Str. 7| 80333 München | Tel 089/521296][ OK ]';
formret:=FormAlert(1,String);
END(*IF*);
| QUIT : String :='[3][Wollen Sie das Programm| Verlassen ?][ OK |ABBRUCH]';
formret:=FormAlert(1,String);
IF formret = 1 THEN
ENDE := TRUE;
END(*IF*); ;
| EDIT : Editiere;(* Bierliste eingeben, neue Rechnung erstellen*)
MenuItemEnable(menueadresse,SAVE,1);
MenuItemEnable(menueadresse,PRINT,1)
| LOAD : (*letzte Rechnung laden um Neue zu erstellen*)
String :='[2][Möchten Sie eine alte Liste|korrigieren oder |eine neue Abrechnung machen?][Alte|Neue]';
formret:=FormAlert(2,String);
IF formret = 1 THEN
FileName:='*.DAT';
AlteBierListeLaden(FileName);
ELSE
FileName:='*.DAT';
BierListeLaden(FileName);
END(*IF*);
MenuItemEnable(menueadresse,PRINT,1);
MenuItemEnable(menueadresse,EDIT,1)
| SAVE : (* s.o.,speichern*)
BierListeSpeichern(SaveFileName);
MenuItemEnable(menueadresse,SAVE,0)
(* Alle Listen sind gespeichert, im Speicher befinden sich
nur noch leere Listen, ein nochmaliges Abspeichern würde
das File zerstören*)
| HELP : String :='[0][ Hilfe| Nur zum Test!!!!! | Christian Ledermann| ver 0.0 vom 25.02.93 ][ OK ]';
formret:=FormAlert(1,String);
| PRINT : (* Ausdruck der Bierliste/der Statistik*)
PrintBierliste(NachXXordnen,LeerZeilen);
| BESTELL : (*Bestellungen Beim Faxen*)
Bestellung;
| FAXRECHN : (* Was kriegt der Fax an Geld?*)
Abrechnung;
MenuItemEnable(menueadresse,PRINT,1)
| KASSESTD : (* Was ist/müsste in der Kasse sein *)
| SPENDEN : (* Kassenstand von Spenden Bereinigen wg. Schwundrechnung*)
SpendenErfassen;
| RECHNUNG, BIEREN, NAMEN: OrdneNach;(* Wie soll der Ausdruck erfolgen*)
| DATUMAE : OK:= GetDate();(* Datum ändern*)
| EKPREISE : EinkaufsPreise;(* EK ändern*)
MenuItemEnable(menueadresse,SAVE,1)
| VKPREISE : VerkaufsPreise;(* VK ändern*)
MenuItemEnable(menueadresse,SAVE,1)
| INVENTUR : (* Gesammterfassung des KassenBestandes und Inhalt des Kühlschrankes*)
InventurMachen;
MenuItemEnable(menueadresse,PRINT,1);
MenuItemEnable(menueadresse,SAVE,1)
| STATISTK : (* Wo wurde viel Umsatz gemacht, wo ist der Schwund am größten*)
| LEERZEIL : (* Wie viele Leerzeilen sollen am Ende der Bierliste angefügt werden?*)
LeerZeilen:=InitLeerZeilen();
| SAVEWORK : (* Voreinstellungen sichern *)
String:='[2][ Voreinstellungen sichern][OK|Abbruch]';
formret:=FormAlert(1,String);
IF formret=1 THEN
SetPreferences(NachXXordnen,LeerZeilen);
END(*IF*);
ELSE
ENDE := FALSE;
END (*CASE*);
MenuTitleNormal(menueadresse,DATEI,1);
MenuTitleNormal(menueadresse,DESK,1);
MenuTitleNormal(menueadresse,KASSE,1);
MenuTitleNormal(menueadresse,EXTRAS,1);
MenuTitleNormal(menueadresse,OPTIONEN,1);
RETURN ENDE;
END MenueEreignis;
PROCEDURE InitPreferences;
VAR Ordnen,LeerZ : INTEGER;
ReadDone,OK:BOOLEAN;
Adr :ADDRESS;
Str : ARRAY [0..1] OF CHAR;
BEGIN
ReadDone:=GetPreferences(Ordnen,LeerZ);
IF ReadDone THEN
ResourceGetAddr(0,LEERDIA,Adr);
IntToStr(LeerZ,0,Str,OK);
IF OK THEN
SetText(ZAHLLEER,Adr,Str);
LeerZeilen := LeerZ;
END(*IF*);
ResourceGetAddr(0,MENUE,Adr);
IF (Ordnen= RECHNUNG)OR (Ordnen= BIEREN)OR (Ordnen= NAMEN) THEN
NachXXordnen:=Ordnen;
MenuItemCheck(Adr,BIEREN,0);
MenuItemCheck(Adr,NAMEN,0);
MenuItemCheck(Adr,RECHNUNG,0);
MenuItemCheck(Adr,Ordnen,1);
END(*IF*);
END(*IF*);
END InitPreferences;
BEGIN
NachXXordnen:=NAMEN;
END BierMenu.